package com.back.service;

import com.back.entity.CompanyRecruiter;
import com.back.dto.CompanyRecruiterDTO;
import com.back.vo.CompanyRecruiterVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 *  企业招聘人员服务接口
 * </p>
 *
 * @author liyang
 * @since 2025-04-26
 */
public interface ICompanyRecruiterService extends IService<CompanyRecruiter> {

    /**
     * 获取企业招聘人员列表
     * @param page 分页对象
     * @param companyId 企业ID
     * @return 分页企业招聘人员列表
     */
    IPage<CompanyRecruiterVO> getRecruiterList(Page<CompanyRecruiter> page, Long companyId);

    /**
     * 添加企业招聘人员
     * @param companyRecruiterDTO 招聘人员信息
     * @return 添加的招聘人员信息
     */
    CompanyRecruiterVO addRecruiter(CompanyRecruiterDTO companyRecruiterDTO);

    /**
     * 更新招聘人员信息
     * @param companyId 企业ID
     * @param id 招聘人员ID
     * @param companyRecruiterDTO 招聘人员信息
     * @return 更新后的招聘人员信息
     */
    CompanyRecruiterVO updateRecruiter(Long companyId, Long id, CompanyRecruiterDTO companyRecruiterDTO);

    /**
     * 删除招聘人员
     * @param companyId 企业ID
     * @param id 招聘人员ID
     * @return 是否成功
     */
    boolean deleteRecruiter(Long companyId, Long id);

    /**
     * 检查用户是否为企业管理员
     * @param companyId 企业ID
     * @param userId 用户ID
     * @return 是否为企业管理员
     */
    boolean isCompanyAdmin(Long companyId, Long userId);
}
